/*!
 * jQuery Lightbox Evolution - for jQuery 1.3+
 * http://codecanyon.net/item/jquery-lightbox-evolution/115655?ref=aeroalquimia
 *
 * Copyright 2010, Eduardo Daniel Sada
 * You need to buy a license if you want use this script.
 * http://codecanyon.net/wiki/buying/howto-buying/licensing/
 *
 * Version: 1.3.9 (Dic 11 2010)
 * Taken from CodeCanyon.
 *
 * Includes jQuery Easing v1.3
 * http://gsgd.co.uk/sandbox/jquery/easing/
 * Copyright (c) 2008 George McGinley Smith
 * Released under the BSD License.
 */


//eval
(function ($) {
    var p = ($.browser.msie && parseInt($.browser.version, 10) < 7 && parseInt($.browser.version, 10) > 4);
    if ($.proxy === undefined) {
        $.extend({
            proxy: function (a, b) {
                if (a) {
                    proxy = function () {
                        return a.apply(b || this, arguments)
                    }
                };
                return proxy
            }
        })
    };
    if ($.isEmptyObject === undefined) {
        $.extend({
            isEmptyObject: function (a) {
                for (var b in a) {
                    return false
                }
                return true
            }
        })
    };
    if (parseFloat($.fn.jquery) < 1.4) {
        $.extend($.fx.prototype, {
            update: function () {
                if (this.options.step) {
                    this.options.step.call(this.elem, this.now, this)
                }(jQuery.fx.step[this.prop] || jQuery.fx.step._default)(this)
            }
        })
    }
    $.extend($.easing, {
        easeOutBack: function (x, t, b, c, d, s) {
            if (s == undefined) s = 1.70158;
            return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b
        }
    });
    $.extend({
        LightBoxObject: {
            defaults: {
                name: 'jquery-lightbox',
                zIndex: 7000,
                width: 470,
                height: 280,
                background: '#FFFFFF',
                modal: false,
                overlay: {
                    'opacity': 0.6
                },
                showDuration: 400,
                closeDuration: 200,
                moveDuration: 1000,
                resizeDuration: 1000,
                showTransition: 'easeOutBack',
                closeTransition: 'easeOutBack',
                moveTransition: 'easeOutBack',
                resizeTransition: 'easeOutBack',
                shake: {
                    'distance': 10,
                    'duration': 100,
                    'transition': 'easeOutBack',
                    'loops': 2
                },
                flash: {
                    'width': 640,
                    'height': 360
                },
                emergefrom: 'top'
            },
            options: {},
            animations: {},
            gallery: {},
            image: {},
            esqueleto: {
                lightbox: [],
                buttons: {
                    close: [],
                    prev: [],
                    max: [],
                    next: []
                },
                background: [],
                html: []
            },
            visible: false,
            maximized: false,
            mode: 'image',
            videoregs: {
                swf: {
                    reg: /[^\.]\.(swf)\s*$/i
                },
                youtube: {
                    reg: /youtube\.com\/watch/i,
                    split: '=',
                    index: 1,
                    url: "http://www.youtube.com/v/%id%&amp;autoplay=1&amp;fs=1"
                },
                metacafe: {
                    reg: /metacafe\.com\/watch/i,
                    split: '/',
                    index: 4,
                    url: "http://www.metacafe.com/fplayer/%id%/.swf?playerVars=autoPlay=yes"
                },
                dailymotion: {
                    reg: /dailymotion\.com\/video/i,
                    split: '/',
                    index: 4,
                    url: "http://www.dailymotion.com/swf/video/%id%?additionalInfos=0&amp;autoStart=1"
                },
                google: {
                    reg: /google\.com\/videoplay/i,
                    split: '=',
                    index: 1,
                    url: "http://video.google.com/googleplayer.swf?autoplay=1&amp;hl=en&amp;docId=%id%"
                },
                vimeo: {
                    reg: /vimeo\.com/i,
                    split: '/',
                    index: 3,
                    url: "http://vimeo.com/moogaloop.swf?clip_id=%id%&amp;server=vimeo.com&amp;autoplay=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1"
                },
                megavideo: {
                    reg: /megavideo.com/i,
                    split: '=',
                    index: 1,
                    url: "http://www.megavideo.com/v/%id%"
                },
                gametrailers: {
                    reg: /gametrailers.com/i,
                    split: '/',
                    index: 5,
                    url: "http://www.gametrailers.com/remote_wrap.php?mid=%id%"
                },
                collegehumor: {
                    reg: /collegehumor.com/i,
                    split: 'video:',
                    index: 1,
                    url: "http://www.collegehumor.com/moogaloop/moogaloop.swf?autoplay=true&amp;fullscreen=1&amp;clip_id=%id%"
                },
                ustream: {
                    reg: /ustream.tv/i,
                    split: '/',
                    index: 4,
                    url: "http://www.ustream.tv/flash/video/%id%?loc=%2F&amp;autoplay=true&amp;vid=%id%&amp;disabledComment=true&amp;beginPercent=0.5331&amp;endPercent=0.6292&amp;locale=en_US"
                },
                twitvid: {
                    reg: /twitvid.com/i,
                    split: '/',
                    index: 3,
                    url: "http://www.twitvid.com/player/%id%"
                },
                wordpress: {
                    reg: /v.wordpress.com/i,
                    split: '/',
                    index: 3,
                    url: "http://s0.videopress.com/player.swf?guid=%id%&amp;v=1.01"
                }
            },
            mapsreg: {
                bing: {
                    reg: /bing.com\/maps/i,
                    split: '?',
                    index: 1,
                    url: "http://www.bing.com/maps/embed/?emid=3ede2bc8-227d-8fec-d84a-00b6ff19b1cb&amp;w=%width%&amp;h=%height%&amp;%id%"
                },
                streetview: {
                    reg: /maps.google.com(.*)layer=c/i,
                    split: '?',
                    index: 1,
                    url: "http://maps.google.com/?output=svembed&amp;%id%"
                },
                google: {
                    reg: /maps.google.com/i,
                    split: '?',
                    index: 1,
                    url: "http://maps.google.com/?output=embed&amp;%id%"
                }
            },
            overlay: {
                create: function (b) {
                    this.options = b;
                    this.element = $('<div id="' + new Date().getTime() + '" class="' + this.options.name + '-overlay"></div>');
                    this.element.css($.extend({}, {
                        'position': 'fixed',
                        'top': 0,
                        'left': 0,
                        'opacity': 0,
                        'display': 'none',
                        'z-index': this.options.zIndex
                    }, this.options.style));
                    this.element.click($.proxy(function (a) {
                        if (this.options.hideOnClick) {
                            if ($.isFunction(this.options.callback)) {
                                this.options.callback()
                            } else {
                                this.hide()
                            }
                        }
                        a.preventDefault()
                    }, this));
                    this.hidden = true;
                    this.inject();
                    return this
                },
                inject: function () {
                    this.target = $(document.body);
                    this.target.append(this.element);
                    if (p) {
                        this.element.css({
                            'position': 'absolute'
                        });
                        var a = parseInt(this.element.css('zIndex'));
                        if (!a) {
                            a = 1;
                            var b = this.element.css('position');
                            if (b == 'static' || !b) {
                                this.element.css({
                                    'position': 'relative'
                                })
                            }
                            this.element.css({
                                'zIndex': a
                            })
                        }
                        a = ( !! (this.options.zIndex || this.options.zIndex === 0) && a > this.options.zIndex) ? this.options.zIndex : a - 1;
                        if (a < 0) {
                            a = 1
                        }
                        this.shim = $('<iframe id="IF_' + new Date().getTime() + '" scrolling="no" frameborder=0 src=""></iframe>');
                        this.shim.css({
                            zIndex: a,
                            position: 'absolute',
                            top: 0,
                            left: 0,
                            border: 'none',
                            width: 0,
                            height: 0,
                            opacity: 0
                        });
                        this.shim.insertAfter(this.element);
                        $('html, body').css({
                            'height': '100%',
                            'width': '100%',
                            'margin-left': 0,
                            'margin-right': 0
                        })
                    }
                },
                resize: function (x, y) {
                    this.element.css({
                        'height': 0,
                        'width': 0
                    });
                    if (this.shim) {
                        this.shim.css({
                            'height': 0,
                            'width': 0
                        })
                    };
                    var a = {
                        x: $(document).width(),
                        y: $(document).height()
                    };
                    this.element.css({
                        'width': '100%',
                        'height': y ? y : a.y
                    });
                    if (this.shim) {
                        this.shim.css({
                            'height': 0,
                            'width': 0
                        });
                        this.shim.css({
                            'position': 'absolute',
                            'left': 0,
                            'top': 0,
                            'width': this.element.width(),
                            'height': y ? y : a.y
                        })
                    }
                    return this
                },
                show: function (a) {
                    if (!this.hidden) {
                        return this
                    };
                    if (this.transition) {
                        this.transition.stop()
                    };
                    if (this.shim) {
                        this.shim.css({
                            'display': 'block'
                        })
                    };
                    this.element.css({
                        'display': 'block',
                        'opacity': 0
                    });
                    this.target.bind('resize', $.proxy(this.resize, this));
                    this.resize();
                    this.hidden = false;
                    this.transition = this.element.fadeTo(this.options.showDuration, this.options.style.opacity, $.proxy(function () {
                        if (this.options.style.opacity) {
                            this.element.css(this.options.style)
                        };
                        this.element.trigger('show');
                        if ($.isFunction(a)) {
                            a()
                        }
                    }, this));
                    return this
                },
                hide: function (a) {
                    if (this.hidden) {
                        return this
                    };
                    if (this.transition) {
                        this.transition.stop()
                    };
                    if (this.shim) {
                        this.shim.css({
                            'display': 'none'
                        })
                    };
                    this.target.unbind('resize');
                    this.hidden = true;
                    this.transition = this.element.fadeTo(this.options.closeDuration, 0, $.proxy(function () {
                        this.element.trigger('hide');
                        if ($.isFunction(a)) {
                            a()
                        };
                        this.element.css({
                            'height': 0,
                            'width': 0,
                            'display': 'none'
                        })
                    }, this));
                    return this
                }
            },
            create: function (a) {
                this.options = $.extend(true, this.defaults, a);
                this.overlay.create({
                    name: this.options.name,
                    style: this.options.overlay,
                    hideOnClick: !this.options.modal,
                    zIndex: this.options.zIndex - 1,
                    callback: $.proxy(this.close, this),
                    showDuration: this.options.showDuration,
                    closeDuration: this.options.closeDuration
                });
                this.esqueleto.lightbox = $('<div class="' + this.options.name + ' ' + this.options.name + '-mode-image"><div class="' + this.options.name + '-border-top-left"></div><div class="' + this.options.name + '-border-top-middle"></div><div class="' + this.options.name + '-border-top-right"></div><a class="' + this.options.name + '-button-close" href="#close"><span>Close</span></a><div class="' + this.options.name + '-navigator"><a class="' + this.options.name + '-button-left" href="#"><span>Previous</span></a><a class="' + this.options.name + '-button-right" href="#"><span>Next</span></a></div><div class="' + this.options.name + '-buttons"><div class="' + this.options.name + '-buttons-init"></div><a class="' + this.options.name + '-button-left" href="#"><span>Previous</span></a><a class="' + this.options.name + '-button-max" href="#"><span>Maximize</span></a><div class="' + this.options.name + '-buttons-custom"></div><a class="' + this.options.name + '-button-right" href="#"><span>Next</span></a><div class="' + this.options.name + '-buttons-end"></div></div><div class="' + this.options.name + '-background"></div><div class="' + this.options.name + '-html"></div><div class="' + this.options.name + '-border-bottom-left"></div><div class="' + this.options.name + '-border-bottom-middle"></div><div class="' + this.options.name + '-border-bottom-right"></div></div>');
                this.esqueleto.navigator = $('.' + this.options.name + '-navigator', this.esqueleto.lightbox);
                this.esqueleto.buttons.div = $('.' + this.options.name + '-buttons', this.esqueleto.lightbox);
                this.esqueleto.buttons.close = $('.' + this.options.name + '-button-close', this.esqueleto.lightbox);
                this.esqueleto.buttons.prev = $('.' + this.options.name + '-button-left', this.esqueleto.lightbox);
                this.esqueleto.buttons.max = $('.' + this.options.name + '-button-max', this.esqueleto.lightbox);
                this.esqueleto.buttons.next = $('.' + this.options.name + '-button-right', this.esqueleto.lightbox);
                this.esqueleto.buttons.custom = $('.' + this.options.name + '-buttons-custom', this.esqueleto.lightbox);
                this.esqueleto.background = $('.' + this.options.name + '-background', this.esqueleto.lightbox);
                this.esqueleto.html = $('.' + this.options.name + '-html', this.esqueleto.lightbox);
                this.esqueleto.move = $('<div class="' + this.options.name + '-move"></div>').append(this.esqueleto.lightbox);
                this.esqueleto.move.css({
                    'position': 'absolute',
                    'z-index': this.options.zIndex,
                    'top': -999,
                    'left': -999
                });
                $('body').append(this.esqueleto.move);
                this.addevents();
                return this.esqueleto.lightbox
            },
            addevents: function () {
                this.esqueleto.buttons.close.bind('click', $.proxy(function (a) {
                    this.close();
                    a.preventDefault()
                }, this));
                $(window).bind('resize', $.proxy(function () {
                    if (this.visible) {
                        this.overlay.resize();
                        if (!this.maximized) {
                            this.movebox()
                        }
                    }
                }, this));
                $(window).bind('scroll', $.proxy(function () {
                    if (this.visible && !this.maximized) {
                        this.movebox()
                    }
                }, this));
                $(document).bind('keydown', $.proxy(function (a) {
                    if (this.visible) {
                        if (a.keyCode == 27 && this.overlay.options.hideOnClick) {
                            this.close()
                        }
                    }
                }, this));
                this.esqueleto.buttons.max.bind('click', $.proxy(function (a) {
                    this.maximinimize();
                    a.preventDefault()
                }, this));
                this.overlay.element.bind('show', $.proxy(function () {
                    $(this).triggerHandler('show')
                }, this));
                this.overlay.element.bind('hide', $.proxy(function () {
                    $(this).triggerHandler('close')
                }, this))
            },
            create_gallery: function (b) {
                if ($.isArray(b) && b.length > 1) {
                    this.gallery.images = b;
                    this.gallery.current = 0;
                    this.gallery.total = b.length;
                    b = b[0];
                    this.esqueleto.buttons.prev.unbind('click');
                    this.esqueleto.buttons.next.unbind('click');
                    this.esqueleto.buttons.prev.bind('click', $.proxy(function (a) {
                        if (this.gallery.current - 1 < 0) {
                            this.gallery.current = this.gallery.total - 1
                        } else {
                            this.gallery.current = this.gallery.current - 1
                        }
                        this.show(this.gallery.images[this.gallery.current]);
                        a.preventDefault()
                    }, this));
                    this.esqueleto.buttons.next.bind('click', $.proxy(function (a) {
                        if (this.gallery.current + 1 >= this.gallery.total) {
                            this.gallery.current = 0
                        } else {
                            this.gallery.current = this.gallery.current + 1
                        }
                        this.show(this.gallery.images[this.gallery.current]);
                        a.preventDefault()
                    }, this))
                }
                if (this.gallery.total > 1) {
                    if (this.esqueleto.navigator.css("display") == "none") {
                        this.esqueleto.buttons.div.show()
                    }
                    this.esqueleto.buttons.prev.show();
                    this.esqueleto.buttons.next.show()
                } else {
                    this.esqueleto.buttons.prev.hide();
                    this.esqueleto.buttons.next.hide()
                }
            },
            custombuttons: function (b, c) {
                $.each(b, $.proxy(function (i, a) {
                    this.esqueleto.buttons.custom.append($('<a href="#" class="' + a['class'] + '">' + a.html + '</a>').bind('click', $.proxy(function (e) {
                        if ($.isFunction(a.callback)) {
                            a.callback(this.image.src, this, c)
                        }
                        e.preventDefault()
                    }, this)))
                }, this));
                this.esqueleto.buttons.div.show()
            },
            show: function (b, c, d, f) {
                var g = /\.(jpg|jpeg|gif|png|bmp|tiff)(.*)?$/i;
                var h = '';
                var j = false;
                if (($.isArray(b) && b.length <= 1) || b == '') {
                    return false
                };
                this.loading();
                j = this.visible;
                this.open();
                if (!j) {
                    this.movebox()
                };
                this.create_gallery(b, c);
                if ($.isArray(b) && b.length > 1) {
                    b = b[0]
                }
                var k = b.split("%LIGHTBOX%");
                var b = k[0];
                var l = k[1] || '';
                c = $.extend(true, {
                    'width': 0,
                    'height': 0,
                    'modal': 0,
                    'force': '',
                    'title': l,
                    'autoresize': true,
                    'move': -1,
                    'iframe': false,
                    'flashvars': ''
                }, c || {});
                urloptions = this.unserialize(b);
                if (!$.isEmptyObject(urloptions)) {
                    c = $.extend({}, c, urloptions)
                }
                var m = {
                    x: $(window).width(),
                    y: $(window).height()
                };
                if (c.width && (c.width + '').indexOf("p") > 0) {
                    c.width = (m.x - 20) * c.width.substring(0, c.width.indexOf("p")) / 100
                }
                if (c.height && (c.height + '').indexOf("p") > 0) {
                    c.height = (m.y - 20) * c.height.substring(0, c.height.indexOf("p")) / 100
                }
                this.esqueleto.background.unbind('complete');
                this.overlay.options.hideOnClick = !c.modal;
                this.esqueleto.buttons.max.removeClass(this.options.name + '-button-min');
                this.esqueleto.buttons.max.addClass(this.options.name + '-button-max');
                this.maximized = !(c.move > 0 || (c.move == -1 && c.autoresize));
                if ($.isArray(c.buttons)) {
                    this.custombuttons(c.buttons, f)
                }
                if (!this.esqueleto.buttons.custom.is(":empty")) {
                    this.esqueleto.buttons.div.show()
                }
                if (c.force != '') {
                    h = c.force
                } else if (c.iframe) {
                    h = 'iframe'
                } else if (b.match(g)) {
                    h = 'image'
                } else {
                    $.each(this.videoregs, function (i, e) {
                        if (b.split('?')[0].match(e.reg)) {
                            h = 'flash';
                            if (e.split) {
                                videoid = b.split(e.split)[e.index];
                                b = e.url.replace("%id%", videoid)
                            }
                        }
                    });
                    $.each(this.mapsreg, function (i, e) {
                        if (b.match(e.reg)) {
                            h = 'iframe';
                            if (e.split) {
                                id = b.split(e.split)[e.index];
                                b = e.url.replace("%id%", id).replace("%width%", c.width).replace("%height%", c.height)
                            }
                        }
                    });
                    if (h == '') {
                        if (b.match(/#/)) {
                            obj = b.substr(b.indexOf("#"));
                            if ($(obj).length > 0) {
                                h = 'inline';
                                b = obj
                            } else {
                                h = 'ajax'
                            }
                        } else {
                            h = 'ajax'
                        }
                    }
                }
                if (h == 'image') {
                    this.esqueleto.buttons.max.hide();
                    var n = new Image();
                    n.onload = $.proxy(function () {
                        n.onload = function () {};
                        if (!this.visible) {
                            return false
                        };
                        this.image = {
                            width: n.width,
                            height: n.height,
                            src: n.src
                        };
                        if (c.width) {
                            width = parseInt(c.width);
                            height = parseInt(c.height)
                        } else {
                            if (c.autoresize) {
                                var a = this.calculate(n.width, n.height);
                                width = a.width;
                                height = a.height;
                                if (n.width != width || n.height != height) {
                                    this.esqueleto.buttons.div.show();
                                    this.esqueleto.buttons.max.show()
                                }
                            } else {
                                width = n.width;
                                height = n.height
                            }
                        }
                        this.resize(width, height);
                        this.esqueleto.background.bind('complete', $.proxy(function () {
                            if (!this.visible) {
                                return false
                            };
                            this.changemode('image');
                            this.esqueleto.background.empty();
                            this.esqueleto.html.empty();
                            if (c.title != '') {
                                this.esqueleto.background.append($('<div class="' + this.options.name + '-title"></div>').html(c.title))
                            }
                            $(n).hide();
                            this.esqueleto.background.append(n);
                            $(n).stop().fadeIn(400)
                        }, this))
                    }, this);
                    n.onerror = $.proxy(function () {
                        this.error("The requested image cannot be loaded. Please try again later.")
                    }, this);
                    n.src = b
                } else if (h == 'flash' || h == 'inline' || h == 'ajax') {
                    if (h == 'inline') {
                        this.appendhtml($(b).clone(true).show(), c.width > 0 ? c.width : $(b).outerWidth(true), c.height > 0 ? c.height : $(b).outerHeight(true), 'html')
                    } else if (h == 'ajax') {
                        if (c.width) {
                            width = c.width;
                            height = c.height
                        } else {
                            this.error("You need to specific the size of the lightbox.");
                            return false
                        }
                        if (this.animations.ajax) {
                            this.animations.ajax.abort()
                        };
                        this.animations.ajax = $.ajax({
                            url: b,
                            type: "GET",
                            cache: false,
                            dataType: "html",
                            error: $.proxy(function () {
                                this.error("The requested content cannot be loaded. Please try again later.")
                            }, this),
                            success: $.proxy(function (a) {
                                this.appendhtml($(a), width, height, 'html')
                            }, this)
                        })
                    } else if (h == 'flash') {
                        if (c.width) {
                            width = c.width;
                            height = c.height
                        } else {
                            width = this.options.flash.width;
                            height = this.options.flash.height
                        }
                        var o = this.swf2html(b, width, height, c.flashvars);
                        this.appendhtml($(o), width, height, 'html')
                    }
                } else if (h == 'iframe') {
                    if (c.width) {
                        width = c.width;
                        height = c.height
                    } else {
                        this.error("You need to specific the size of the lightbox.");
                        return false
                    }
                    this.appendhtml($('<iframe id="IF_' + (new Date().getTime()) + '" frameborder=0 src="' + b + '"></iframe>').css(c), c.width, c.height, 'html')
                }
                this.callback = $.isFunction(d) ? d : function (e) {}
            },
            swf2html: function (a, b, c, d) {
                if (typeof d == 'undefined' || d == '') d = 'autostart=1&autoplay=1&fullscreenbutton=1';
                var e = '<object width="' + b + '" height="' + c + '" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="movie" value="' + a + '"></param>';
                e += '<param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><param name="wmode" value="transparent"></param>';
                e += '<param name="autostart" value="true"></param><param name="autoplay" value="true"></param><param name="flashvars" value="' + d + '"></param>';
                e += '<param name="width" value="' + b + '"></param><param name="height" value="' + c + '"></param>';
                e += '<embed src="' + a + '" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" autostart="true" autoplay="true" flashvars="' + d + '" wmode="transparent" width="' + b + '" height="' + c + '"></embed></object>';
                return e
            },
            appendhtml: function (a, b, c, d) {
                if (typeof d !== 'undefined') {
                    this.changemode(d)
                }
                this.resize(b + 30, c + 20);
                this.esqueleto.background.bind('complete', $.proxy(function () {
                    this.esqueleto.background.removeClass(this.options.name + '-loading');
                    this.esqueleto.html.html(a);
                    this.esqueleto.html.html(a);
                    this.esqueleto.background.unbind('complete')
                }, this))
            },
            movebox: function (w, h) {
                var a = {
                    x: $(window).width(),
                    y: $(window).height()
                };
                var b = {
                    x: $(window).scrollLeft(),
                    y: $(window).scrollTop()
                };
                var c = h != null ? h : this.esqueleto.lightbox.outerHeight();
                var d = w != null ? w : this.esqueleto.lightbox.outerWidth();
                var y = 0;
                var x = 0;
                x = b.x + ((a.x - d) / 2);
                if (this.visible) {
                    y = b.y + (a.y - c) / 2
                } else if (this.options.emergefrom == "bottom") {
                    y = (b.y + a.y + 14)
                } else {
                    y = (b.y - c) - 14
                }
                if (this.visible) {
                    if (!this.animations.move) {
                        this.morph(this.esqueleto.move, {
                            'left': x
                        }, 'move')
                    }
                    this.morph(this.esqueleto.move, {
                        'top': y
                    }, 'move')
                } else {
                    this.esqueleto.move.css({
                        'left': x,
                        'top': y
                    })
                }
            },
            morph: function (d, f, g, h, i) {
                var j = $.speed({
                    queue: i || false,
                    duration: this.options[g + 'Duration'],
                    easing: this.options[g + 'Transition'],
                    complete: ($.isFunction(h) ? $.proxy(h, this) : null)
                });
                return d[j.queue === false ? "each" : "queue"](function () {
                    var c = $.extend({}, j),
                        self = this;
                    c.curAnim = $.extend({}, f);
                    $.each(f, function (a, b) {
                        var e = new $.fx(self, c, a);
                        e.custom(e.cur(true) || 0, b, "px")
                    });
                    return true
                })
            },
            resize: function (x, y) {
                if (this.visible) {
                    var a = {
                        x: $(window).width(),
                        y: $(window).height()
                    };
                    var b = {
                        x: $(window).scrollLeft(),
                        y: $(window).scrollTop()
                    };
                    var c = (b.x + (a.x - (x + 14)) / 2);
                    var d = (b.y + (a.y - (y + 14)) / 2);
                    if ($.browser.msie || ($.browser.mozilla && (parseFloat($.browser.version) < 1.9))) {
                        y += 4
                    }
                    this.animations.move = true;
                    this.morph(this.esqueleto.move.stop(), {
                        'left': (this.maximized && c < 0) ? 0 : c,
                        'top': (this.maximized && (y + 14) > a.y) ? b.y : d
                    }, 'move', $.proxy(function () {
                        this.move = false
                    }, this.animations));
                    this.morph(this.esqueleto.html, {
                        'height': y - 20
                    }, 'resize');
                    this.morph(this.esqueleto.lightbox.stop(), {
                        'width': (x + 14),
                        'height': y - 20
                    }, 'resize', {}, true);
                    this.morph(this.esqueleto.buttons.div, {
                        'width': x,
                        'height': y
                    }, 'resize');
                    this.morph(this.esqueleto.navigator, {
                        'width': x
                    }, 'resize');
                    this.morph(this.esqueleto.navigator, {
                        'top': (y - 90) / 2
                    }, 'move');
                    this.morph(this.esqueleto.background.stop(), {
                        'width': x,
                        'height': y
                    }, 'resize', function () {
                        $(this.esqueleto.background).trigger('complete')
                    })
                } else {
                    this.esqueleto.html.css({
                        'height': y - 20
                    });
                    this.esqueleto.lightbox.css({
                        'width': x + 14,
                        'height': y - 20
                    });
                    this.esqueleto.background.css({
                        'width': x,
                        'height': y
                    });
                    this.esqueleto.buttons.div.css({
                        'width': x,
                        'height': y
                    });
                    this.esqueleto.navigator.css({
                        'width': x,
                        'height': 90
                    })
                }
            },
            close: function (a) {
                this.visible = false;
                this.gallery = {};
                if ($.browser.msie) {
                    this.esqueleto.background.empty();
                    this.esqueleto.html.empty();
                    this.esqueleto.buttons.custom.empty();
                    this.esqueleto.move.css({
                        'display': 'none'
                    });
                    this.movebox()
                } else {
                    this.esqueleto.move.animate({
                        'opacity': 0,
                        'top': '-=40'
                    }, {
                        queue: false,
                        complete: ($.proxy(function () {
                            this.esqueleto.background.empty();
                            this.esqueleto.html.empty();
                            this.esqueleto.buttons.custom.empty();
                            this.movebox();
                            this.esqueleto.move.css({
                                'display': 'none',
                                'opacity': 1,
                                'overflow': 'visible'
                            })
                        }, this))
                    })
                }
                this.overlay.hide($.proxy(function () {
                    if ($.isFunction(this.callback)) {
                        this.callback.apply(this, $.makeArray(a))
                    }
                }, this));
                this.esqueleto.background.stop(true, false);
                this.esqueleto.background.unbind('complete')
            },
            open: function () {
                this.visible = true;
                if ($.browser.msie) {
                    this.esqueleto.move.get(0).style.removeAttribute('filter');
                    this.esqueleto.buttons.div.css({
                        'position': 'static'
                    }).css({
                        'position': 'absolute'
                    })
                }
                this.esqueleto.move.css({
                    'display': 'block',
                    'overflow': 'visible'
                }).show();
                this.overlay.show()
            },
            shake: function () {
                var x = this.options.shake.distance;
                var d = this.options.shake.duration;
                var t = this.options.shake.transition;
                var o = this.options.shake.loops;
                var l = this.esqueleto.move.position().left;
                var e = this.esqueleto.move;
                for (i = 0; i < o; i++) {
                    e.animate({
                        left: l + x
                    }, d, t);
                    e.animate({
                        left: l - x
                    }, d, t)
                };
                e.animate({
                    left: l + x
                }, d, t);
                e.animate({
                    left: l
                }, d, t)
            },
            changemode: function (a) {
                if (a != this.mode) {
                    this.esqueleto.lightbox.removeClass(this.options.name + '-mode-' + this.mode);
                    this.mode = a;
                    this.esqueleto.lightbox.addClass(this.options.name + '-mode-' + this.mode)
                }
                this.esqueleto.move.css({
                    'overflow': 'visible'
                })
            },
            error: function (a) {
                alert(a);
                this.close()
            },
            unserialize: function (d) {
                var e = /lightbox\[(.*)?\]$/i;
                var f = {};
                if (d.match(/#/)) {
                    d = d.slice(0, d.indexOf("#"))
                }
                d = d.slice(d.indexOf('?') + 1).split("&");
                $.each(d, function () {
                    var a = this.split("=");
                    var b = a[0];
                    var c = a[1];
                    if (b.match(e)) {
                        if (isFinite(c)) {
                            c = parseInt(c)
                        } else if (c.toLowerCase() == "true") {
                            c = true
                        } else if (c.toLowerCase() == "false") {
                            c = false
                        }
                        f[b.match(e)[1]] = c
                    }
                });
                return f
            },
            calculate: function (x, y) {
                var a = $(window).width() - 50;
                var b = $(window).height() - 50;
                if (x > a) {
                    y = y * (a / x);
                    x = a;
                    if (y > b) {
                        x = x * (b / y);
                        y = b
                    }
                } else if (y > b) {
                    x = x * (b / y);
                    y = b;
                    if (x > a) {
                        y = y * (a / x);
                        x = a
                    }
                }
                return {
                    width: parseInt(x),
                    height: parseInt(y)
                }
            },
            loading: function () {
                this.changemode('image');
                this.esqueleto.background.empty();
                this.esqueleto.html.empty();
                this.esqueleto.background.addClass(this.options.name + '-loading');
                this.esqueleto.buttons.div.hide();
                this.movebox(this.options.width, this.options.height);
                this.resize(this.options.width, this.options.height)
            },
            maximinimize: function () {
                if (this.maximized) {
                    this.maximized = false;
                    this.esqueleto.buttons.max.removeClass(this.options.name + '-button-min');
                    this.esqueleto.buttons.max.addClass(this.options.name + '-button-max');
                    var a = this.calculate(this.image.width, this.image.height);
                    this.loading();
                    this.esqueleto.buttons.div.show();
                    this.resize(a.width, a.height)
                } else {
                    this.maximized = true;
                    this.esqueleto.buttons.max.removeClass(this.options.name + '-button-max');
                    this.esqueleto.buttons.max.addClass(this.options.name + '-button-min');
                    this.loading();
                    this.esqueleto.buttons.div.show();
                    this.resize(this.image.width, this.image.height)
                }
            }
        },
        lightbox: function (a, b, c) {
            if (typeof a !== 'undefined') {
                return $.LightBoxObject.show(a, b, c)
            } else {
                return $.LightBoxObject
            }
        }
    });
    $.fn.lightbox = function (k, l) {
        return $(this).live('click', function (e) {
            e.preventDefault();
            $(this).blur();
            var b = [];
            var c = $.trim($(this).attr('rel')) || '';
            var d = $.trim($(this).attr('title')) || '';
            if (!c || c == '' || c === 'nofollow') {
                b = $(this).attr('href');
                copy_options = (d || d != '') ? $.extend({}, k, {
                    'title': d
                }) : k
            } else {
                var f = [];
                var g = [];
                var h = [];
                var j = false;
                $("a[rel=" + c + "], area[rel=" + c + "]").each($.proxy(function (i, a) {
                    if (this == a) {
                        g.unshift(a);
                        j = true
                    } else if (j == false) {
                        h.push(a)
                    } else {
                        g.push(a)
                    }
                }, this));
                f = g.concat(h);
                $.each(f, function () {
                    var a = $.trim($(this).attr('title')) || '';
                    a = a ? "%LIGHTBOX%" + a : '';
                    b.push($(this).attr('href') + a)
                });
                if (b.length == 1) {
                    b = b[0]
                }
                copy_options = k
            }
            $.LightBoxObject.show(b, copy_options, l, this)
        })
    };
    $(function () {
         $.LightBoxObject.create();
        
    })
})(jQuery);
